package com.test.sort;

/**
 * 选择排序，时间复杂度为 O(n^2)
 */
public class SelectSortHandler implements ISortHandler {
    @Override
    public void handle(Integer[] arr) {
        int num = 0;
        for (int i = 0; i < arr.length - 1; i++) {
            int minIndex = i;
            // 找到最小值
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[j] < arr[minIndex]) {
                    minIndex = j;
                }
                num++;
            }
            // 交换最小值到最前面
            int temp = arr[i];
            arr[i] = arr[minIndex];
            arr[minIndex] = temp;
        }
        System.out.println("Select sort num:" + num);
    }
}
